#region License

// Copyright (c) 2013, ClearCanvas Inc.
// All rights reserved.
// http://www.clearcanvas.ca
//
// This file is part of the ClearCanvas RIS/PACS open source project.
//
// The ClearCanvas RIS/PACS open source project is free software: you can
// redistribute it and/or modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// The ClearCanvas RIS/PACS open source project is distributed in the hope that it
// will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
// Public License for more details.
//
// You should have received a copy of the GNU General Public License along with
// the ClearCanvas RIS/PACS open source project.  If not, see
// <http://www.gnu.org/licenses/>.

#endregion

// This file is auto-generated by the ClearCanvas.Model.SqlServer.CodeGenerator project.

namespace ClearCanvas.ImageServer.Model.EntityBrokers
{
    using System;
    using System.Xml;
    using ClearCanvas.Enterprise.Core;
    using ClearCanvas.ImageServer.Enterprise;

    public partial class NotificationQueueSelectCriteria : EntitySelectCriteria
    {
        public NotificationQueueSelectCriteria()
        : base("NotificationQueue")
        {}
        public NotificationQueueSelectCriteria(NotificationQueueSelectCriteria other)
        : base(other)
        {}
        public override object Clone()
        {
            return new NotificationQueueSelectCriteria(this);
        }
        [EntityFieldDatabaseMappingAttribute(TableName="NotificationQueue", ColumnName="ExternalRequestQueueGUID")]
        public ISearchCondition<ServerEntityKey> ExternalRequestQueueKey
        {
            get
            {
              if (!SubCriteria.ContainsKey("ExternalRequestQueueKey"))
              {
                 SubCriteria["ExternalRequestQueueKey"] = new SearchCondition<ServerEntityKey>("ExternalRequestQueueKey");
              }
              return (ISearchCondition<ServerEntityKey>)SubCriteria["ExternalRequestQueueKey"];
            } 
        }
        [EntityFieldDatabaseMappingAttribute(TableName="NotificationQueue", ColumnName="RestNotificationUrl")]
        public ISearchCondition<String> RestNotificationUrl
        {
            get
            {
              if (!SubCriteria.ContainsKey("RestNotificationUrl"))
              {
                 SubCriteria["RestNotificationUrl"] = new SearchCondition<String>("RestNotificationUrl");
              }
              return (ISearchCondition<String>)SubCriteria["RestNotificationUrl"];
            } 
        }
        [EntityFieldDatabaseMappingAttribute(TableName="NotificationQueue", ColumnName="NotificationXml")]
        public ISearchCondition<XmlDocument> NotificationXml
        {
            get
            {
              if (!SubCriteria.ContainsKey("NotificationXml"))
              {
                 SubCriteria["NotificationXml"] = new SearchCondition<XmlDocument>("NotificationXml");
              }
              return (ISearchCondition<XmlDocument>)SubCriteria["NotificationXml"];
            } 
        }
        [EntityFieldDatabaseMappingAttribute(TableName="NotificationQueue", ColumnName="InsertTime")]
        public ISearchCondition<DateTime> InsertTime
        {
            get
            {
              if (!SubCriteria.ContainsKey("InsertTime"))
              {
                 SubCriteria["InsertTime"] = new SearchCondition<DateTime>("InsertTime");
              }
              return (ISearchCondition<DateTime>)SubCriteria["InsertTime"];
            } 
        }
        [EntityFieldDatabaseMappingAttribute(TableName="NotificationQueue", ColumnName="LastTryTime")]
        public ISearchCondition<DateTime> LastTryTime
        {
            get
            {
              if (!SubCriteria.ContainsKey("LastTryTime"))
              {
                 SubCriteria["LastTryTime"] = new SearchCondition<DateTime>("LastTryTime");
              }
              return (ISearchCondition<DateTime>)SubCriteria["LastTryTime"];
            } 
        }
        [EntityFieldDatabaseMappingAttribute(TableName="NotificationQueue", ColumnName="Failed")]
        public ISearchCondition<Boolean> Failed
        {
            get
            {
              if (!SubCriteria.ContainsKey("Failed"))
              {
                 SubCriteria["Failed"] = new SearchCondition<Boolean>("Failed");
              }
              return (ISearchCondition<Boolean>)SubCriteria["Failed"];
            } 
        }
        [EntityFieldDatabaseMappingAttribute(TableName="NotificationQueue", ColumnName="RetryCount")]
        public ISearchCondition<Int32> RetryCount
        {
            get
            {
              if (!SubCriteria.ContainsKey("RetryCount"))
              {
                 SubCriteria["RetryCount"] = new SearchCondition<Int32>("RetryCount");
              }
              return (ISearchCondition<Int32>)SubCriteria["RetryCount"];
            } 
        }
    }
}
